package 集合进阶.单列集合.List集合;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.function.Consumer;

public class 遍历方式 {
    public static void main(String[] args) {
        //创建集合
        List<String> list=new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");

        //1.迭代器遍历
        Iterator<String> it=list.iterator();
        //利用循环判断当前位置是否有元素
        while (it.hasNext()) {
            //获取当前位置的元素,且移动到下一个位置
            String str= it.next();
            System.out.println(str);
        }
        System.out.println("-----------------------------------");
        //2.列表迭代器
        //获取一个列表迭代器的对象
        ListIterator<String> listit = list.listIterator();
        while (listit.hasNext()){
            String str = listit.next();
            System.out.println(str);
        }
        System.out.println("-------------------------------------");
        //3.增强for遍历
        for (String s : list) {
            System.out.println(s);
        }

        //4.Lambda表达式遍历
        //匿名内部类的形式
        list.forEach(new Consumer<String>() {
            @Override
            public void accept(String s) {
                System.out.println(s);
            }
        });
        list.forEach(s -> System.out.println(s));

        //5.普通的for循环
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }
}
